1. Field of the Invention
This invention relates in general to the field of computer networks, and in particular to a method and system for highly efficient measuring of the roundtrip response time over a public or private network, utilizing a single, non-origin measurement point for aggregating time of the set of generated requests and responses that result from an original request.
2. Description of Related Art
The Internet is a vast network of heterogeneous computers and subnetworks all communicating together to allow for global exchange of information. The World Wide Web (WWW) is one of the more popular information services on the Internet which uses web browser software to decipher hypertext links to documents and files located on remote computers or content servers to access multimedia information in the form of text, audio, video, graphic, animation, still pictures, etc.
Many hardware and software utilities and applications, such as network performance monitors, have as their core technology a method of measurement that depends on network data as their input. In today's Information Technology (IT) industry, measuring roundtrip response time of application program transactions is a very important task. Traditional IT practice is to measure that portion of a computer's transaction time as it relates to time spent executing in one or more application servers. However, today's IT industry has included in its calculation of response time the time spent in areas other than application servers. Specifically, the time a transaction takes traversing a network from an origin client node to a destination server node is becoming one of the most important and desired measurements. One example of this environment is that of a customer using a web browser on a client node and interacting with a corporate web server node. The network time between these two nodes is one of the most important time components of all. However, the calculation of this time component is missing from nearly every commercial response time measurement available to customers today. Only when this component is added to the overall response time equation one can have the total roundtrip response time of a transaction.
The technique involved in measuring roundtrip response time, as well as the network time between an origin and destination node, requires that measurement software is present on both of these nodes. Software must be present on the origin node to capture the time of the initial request and another software must be present on the destination node to capture the time the initial request arrives. The difference is the time the request spent over the network. The problem with this technique is that it requires software to be installed on the origin node. In the IT industry, the origin node is often a computer operated by either an employee or a customer at the client node. Thus, this computer is typically not in the direct control of the corporate web server node to have measurement software placed upon it. One exemplary corporate web site is a bank site that would want to calculate response time for its customers with personal computers at home, yet the customer at home will not be open to downloading and installing banking time measurement software, named response time monitor, used for this purpose. Clearly, the burden of performance measurement must be on the provider of the web server site and not the customer of that site.
One technique that has been tried by a number of vendors is to use a web-based Java applet piece of the web page and automatically download it to the customer's client node. Because it is automatically downloadable, it takes the burden and responsibility off the customer. Java applets act as very small software agents that can measure response time at a customer's origin node. However, this technique requires web site design changes which are intrusive to the customer from a performance perspective and they tend to break the web application they are intended to monitor. In addition, they require complementary software to be placed on the web server at the other end. One such implementation of this technique can be found in the IBM Tivoli QOS solution as well as in the PathWAI eBA Service Monitor solution.
Another issue of conventional solutions is their scalability. Since software agents in the web-based Java applet technique need to reside at each client's origin node, they also have to be managed. Since the web world network has tens of thousands of potential origin nodes, the management effort is staggering. The network traffic caused just by reporting of all these software agents would flood a network and tie up resources.
When measuring the roundtrip response time of a web browser over the Internet using HTTP or HTTPs protocols, what one really measures is the time delay an individual experiences with respect to a request for information over a public (Internet) or private (Intranet) network. From an industry perspective, any response time delay over a reasonable amount of time is equivalent to losing revenue because the attention span of typical web customer is very short. Understanding what an individual's roundtrip experience is over a public or private network is an essential metric for businesses to manage.
Thus, in a practical sense, roundtrip response time is a measure of a customer's satisfaction. A quick roundtrip response time usually entails a positive customer satisfaction but a long response time, typically over eight seconds, leads to customer frustration. When dealing with the Internet, particularly the Word Wide Web (WWW), customers want a quick request and response behavior. A customer makes a simple request for information with a mouse or keyboard and the computing system and network feed a response back to the display. But, in reality, this single request and response behavior is broken up, under the covers, into many discrete requests and responses all of which must complete before the customer's original request gets completed. Therefore, the real roundtrip response time (customer satisfaction) is the aggregate measurement of all the discrete requests and responses that take place on behalf of the customer's original request.
The problem in the IT industry is that most response time monitors measure the individual requests and responses but do not aggregate the time to show an actual, complete customer's experience. They remain separate measurements of each small part of the total experience. This is partially because the aggregation process is a very difficult technology and conventional network monitors do not address measurement of true roundtrip response time by aggregating many discrete request and response components connected with the original request.
What makes this aggregation process so difficult is a lack of correlation and completion in the HTTP and HTTPs protocols. Each additional request and response, generated on behalf of the customer's original request, has no correlation mechanism pointing back to the original customer's request. Moreover, when more than one customer makes a request at the same moment in time, it is difficult to identify which additionally generated request and response is related to which original customer. Further, the HTTP and HTTPs protocols do not indicate when a set of many generated requests and responses for an original request has finally completed. These two problems with the HTTP and HTTPs protocols have prevented IT industry from measuring true roundtrip response time for web browser customers. Most conventional products available, like Web Trends (USA), only compute part of the total roundtrip response time.
Therefore, there is a need for a simple, improved, generic and highly efficient response time monitor in a public or private network that aggregates time of a set of generated requests and responses that result from an original request and that can measure the true roundtrip response time and its components from a single, non-origin measurement point, which is the destination node and not the customer's origin node.